package com.golf.core.course;

import java.util.Collection;

import com.golf.core.course.bodies.Ball;
import com.golf.core.course.bodies.CourseBodies;
import com.golf.core.course.bodies.CourseBoundary;
import com.golf.core.course.bodies.Position;


public interface Course
{

    /**
     * Get the course name.
     * 
     * @return The name of this course.
     */
    String name();
    
    
 //  List<Player> getPlayers();
    

    
    
    CourseBodies getBodies();
    
    
    /**
     * Get the start position for this course.
     * 
     * @return The point on the course where each player must start from.
     */
    Position getStartPosition();
    
    /**
     * 
     * @return
     */
    CourseBoundary getBoundary();


    /**
     * 
     * @param collection
     */
    void placeBalls(Collection<Ball> collection);
    
}
